---
title: Determine policy ownership system
summary: Determines which system (WCIS or SAIFQuote) owns a policy submission via an Oracle PL/SQL function call.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: embedded
operation_id: OP-POL-009
trigger: Caller reads PolicyInformation.GetPolicyOwnershipSystem
---

# Determine policy ownership system

Determines whether WCIS or SAIFQuote owns a policy submission by calling the Oracle PL/SQL function `pk73102_policy.does_wcis_own_submission` inline via `SELECT ... FROM DUAL`.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-POL-009 |
| **Trigger** | Caller reads `PolicyInformation.GetPolicyOwnershipSystem(inDPI, inPolicyNumber)` |
| **Inputs** | Data portal info, policy number |
| **Outputs** | `Enums.PolicyOwnershipSystems` |
| **Primary components** | `PolicyInformation.GetPolicyOwnershipSystem` |
| **Entry point** | `SAIF.Business.Policy\PolicyInformation.vb` |

## Steps

1. Caller reads `PolicyInformation.GetPolicyOwnershipSystem(inDPI, inPolicyNumber)`.
2. Inline scalar SQL calls the Oracle function `pk73102_policy.does_wcis_own_submission(:in_policy_num)` via `SELECT ... FROM DUAL` ([SQL-006](../sql/SQL-006-policy-ownership-system-lookup.md)).
   - Origin note: the function body resides in the Oracle database ([pk73102_policy](../procedures/pk73102-policy.md), status `not-found` — retrieval not performed this run).**
3. Result string is parsed with `.ToBoolean` and mapped to `Enums.PolicyOwnershipSystems.WCIS` or `.SAIFQuote`.

## Process flow

```mermaid
flowchart TD
	Start([GetPolicyOwnershipSystem read]) --> S1[Build scalar request with SQL-006]
	S1 --> S2[Bind in_policy_num]
	S2 --> S3[Execute SELECT ... FROM DUAL]
	S3 --> S4[Parse result via ToBoolean]
	S4 --> D{Result true?}
	D -->|Yes| EndWCIS([Enums.PolicyOwnershipSystems.WCIS])
	D -->|No| EndSAIF([Enums.PolicyOwnershipSystems.SAIFQuote])
```

## Failure and edge-case behavior
- Behavior when the scalar function returns a non-boolean-parseable string is not confirmed from the scanned source.**

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **Note:** Statements marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.Policy\PolicyInformation.vb`
